# -*- coding: utf-8 -*-

import threading
import time

def task1():
    for i in range(3):
        print(f'task1.....{i}')
        # 加延时
        time.sleep(1)


def task2():
    for i in range(5):
        print(f'task2.....{i}')
        # # 加延时
        time.sleep(1)

# 主线程是用来调度我们的子线程的
if __name__ == '__main__':
    # 创建两个子线程
    print(threading.enumerate(), '线程创建之前')
    t1 = threading.Thread(target=task1)
    # t2 = threading.Thread(target=task2)
    print(threading.enumerate(), '启动线程之前')

    # 启动子线程
    t1.start()
    # t2.start()
    print(threading.enumerate(), '线程线程之后')

    # 打印当前活跃的线程列表，当前存货的线程数量
    """
    [<_MainThread(MainThread, started 18352)>, <Thread(Thread-2, started 32720)>]
    MainThread：主线程
    Thread-2：第二个线程
    """
    # print(threading.enumerate())
    # while True: # 死循环
    #     print(threading.enumerate()) # 返回的数据类型: list
    #     if len(threading.enumerate()) <= 1:
    #         break
    #     time.sleep(0.5)

# 垃圾回收机制
"""
a = 5  a的这个变量  是不是指向了5的这一块内存空间
a = 6  5这块内存空间  a还有没有引用他
"""
# C 语言
